package com.wicket.okrcomponent.integration.dto;

import com.wicket.okrcomponent.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc AddMessagePositionReqDto
 * @使用场景
 */
@Data
public class AddMessagePositionReqDto extends BaseDto implements Serializable {

  /**
   * 上级消息位置ID
   */
  @ApiModelProperty("上级消息位置ID")
  private String superiorMessageLocationId;

  /**
   * 上级位置标识
   */
  @ApiModelProperty("上级位置标识")
  private String parentLocationCode;

  /**
   * 消息位置标识
   */
  @NotNull(message = "消息位置标识不能为空")
  @ApiModelProperty("消息位置标识")
  private String messageLocationTypeCode;

  /**
   * 消息使用子场景类型编码 MESSAGE_HELPER:消息助手 RISK_CONTROL_HELPER:风控助手 WORK_HELPER:工作助手
   */
  @NotNull(message = "消息使用子场景类型编码不能为空")
  @ApiModelProperty("消息使用子场景类型编码")
  private String contentTypeCode;

  /**
   * 位置提醒类型
   */
  @NotNull(message = "位置提醒类型不能为空")
  @ApiModelProperty("位置提醒类型")
  private String remindTypeCode;

  /**
   * 层级
   */
  @NotNull(message = "层级不能为空")
  @ApiModelProperty("层级")
  private Long stratum;

  /**
   * 主体生命周期 CURRENTLY_VALID:当前有效 EDITING:正在编辑 ARCHIVING:历史存档
   */
  @NotNull(message = "主体生命周期不能为空")
  @ApiModelProperty("主体生命周期")
  private String subjectLifeCycle;

}
